#include "Thread.hpp"
#include <iostream>
#include <vector>
#include <unistd.h>

using namespace ThreadModule;

// class ThreadData
// {
// public:
//     pthread_t tid;
//     std::string name;
// };

// void Count(ThreadData td)
// {
//     while(true)
//     {
//         std::cout << "I am new thread" << std::endl;
//         sleep(1);
//     }
// }

void Count(int cnt)
{
    while(cnt--)
    {
        std::cout << "I am new thread, my number is " << cnt << std::endl;
        sleep(1);
    }
}

int main()
{
    // ThreadData td;
    // Thread<ThreadData> t(Count, td);

    int cnt = 10;
    Thread<int> t(Count, cnt);

    t.Start();
    sleep(5);
    // t.Stop();
    t.Join();

    return 0;
}